﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {

        //Console.WriteLine("======================Random类======================");
        //Random ran = new Random();
        //for (int i = 0; i < 50; i++)
        //{
        //Console.WriteLine(ran.Next());
        //Console.WriteLine(ran.Next(3));//0-3随机整数，不包含3
        //Console.WriteLine(ran.Next(3,5));//不包含5
        //Console.WriteLine(ran.NextDouble());//随机小数0-1之间

        //生成0-5的随机整数，包含5。
        //Console.WriteLine(ran.Next(6));

        //生成0-3之间的小数
        //Console.WriteLine(ran.NextDouble());

        //先随机生成0-3的整数 + 随机生成0-1的小数
        //只要一次随机的方法就可以吗？
        //Console.WriteLine(ran.NextDouble()*3);

        //生成3-5之间的小数
        //Console.WriteLine(ran.Next(3,5)+ran.NextDouble());
        //能不能只要一次随机方法呢？
        //保留2位小数
        //double d = 3 + ran.NextDouble() * (5 - 3);
        //Console.WriteLine(Math.Round(d,3));
        //Console.WriteLine(d.ToString("f3"));
        //套路： min + ran.NextDouble() * ( max - mix)
        //}
        static void Main(string[] args)
        {

            //1、生成0 - 5之间的随机小数，保留两位小数（必须是2位）。
            //Random ran = new Random();
            //for (int i = 0; i < 10; i++)
                {
                //    double d =  ran.NextDouble() * 5;
                //    Console.WriteLine(d.ToString("f2"));





                //Console.WriteLine("--------------------------------------");
                //2、生成4 - 7之间的随机小数，保留两位小数。

                //double a = 4 + ran.NextDouble() * (7 - 4);
                //Console.WriteLine(Math.Round(a,2));




                //Console.WriteLine("--------------------------------------");




              static void text()
        {
            // 3、生成一个随机整型数组，长度是10，内容是1~10，数组内容不重复。 
            Random random = new Random();
            int[] a = new int[10];
            for (int i = 0; i < a.Length; i++)
            {
                int b = random.Next(10) + 1;
                a[i] = b;
                for (int j = 0; j < i; j++)
                {
                    if (a[i] == a[j])
                    {
                        i = i - 1;
                    }
                }
            }
            for (int i = 0; i < a.Length; i++)
            {
                Console.WriteLine(a[i] + " ");
            }
        }
   //Console.WriteLine("--------------------------------------");


        static void text1()
        {
            //4、用户输入邮箱，请验证其合法性。
            //1、邮箱一定需要 @符号
            //   2、根据 @符号分为两部分，“前半部分 @ 后半部分”，
            //	前半部分可以数字、字母、下划线、中划线、 .（符号点）。但是.（符号点）不能 用在开头也不能用在结尾；
            //       后半部分可以数字、字母、下划线、中划线、.（符号点），且符号点是必须的，至少出现一次，但不能连续出现，且符号点不能在开头，也不能在结尾。
            //	后半部分的符号点后面只能是：com、org、net、edu、mil、tv、biz、info
           
            Console.WriteLine("请输入邮箱");
            string e = Console.ReadLine();
            if (Regex.IsMatch(e, @"^(\w+)(\.*)@(\w+)(\.)(com|org|net|edu|mil|tv|biz|info)$"))
            {
                Console.WriteLine("该邮箱合法");
            }
            else
            {
                Console.WriteLine("错误");
            }
        }

   //Console.WriteLine("--------------------------------------");


        static void text2()
        {
            //         5、用户输入手机号码，请验证其合法性。
            //      手机号码规则：
            //最开头 + 86可有可无
            //   13开头第三位是 0 - 9
            //   14开头第三位是 5或7
            //   15开头第三位是 0 - 9不包含4
            //   17开头第三位是 678中的一个
            //   18开头第三位是 0 - 9
            //   剩下的8位，都是0 - 9的数字。
            Console.WriteLine("请输入手机号");
            string p = Console.ReadLine();
            if (Regex.IsMatch(p, @"^(\+86)?(13)[\d]{9}|(14)[5|7]|(15)[0-3|5-9]|(17)[6|7|8]|(18)[\d]{9}$"))
            {
                Console.WriteLine("该手机号码合法");
            }
            else
            {
                Console.WriteLine("错误");
            }
        }

            }
        }
    

